/*
 * AddUsuario.java
 *
 * Created on 06-dic-2011, 16:23:12
 */

package interfazgrafica.administrarusuarios;

import gestionusuarios.*;
import interfazgrafica.Aplicacion;
import interfazgrafica.Aplicacion;
import interfazgrafica.ayuda.VentanaAyuda;


/**
 * Ventana para poder añadir un usuario.
 * @author Lauaa
 */
public class AddUsuario extends javax.swing.JDialog {

    static AddUsuario _dialog = new AddUsuario(new javax.swing.JFrame(), true);

    /** Creates new form AddUsuario */
    public AddUsuario(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jTextFieldCampoUsuario = new javax.swing.JTextField();
        jLabelUsuario = new javax.swing.JLabel();
        jLabelContraseña = new javax.swing.JLabel();
        jButtonAñadir = new javax.swing.JButton();
        jButtonCancelar = new javax.swing.JButton();
        jButtonAyuda = new javax.swing.JButton();
        jLabelRespuesta = new javax.swing.JLabel();
        confirmarContrasenaJPasswordFieldCampoConfirmarContraseña = new javax.swing.JPasswordField();
        jLabelConfirmarContraseña = new javax.swing.JLabel();
        contrasenaJPasswordFieldCampoContraseña = new javax.swing.JPasswordField();

        setName("Form"); // NOI18N

        org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application.getInstance(cowmanager.CowManagerApp.class).getContext().getResourceMap(AddUsuario.class);
        jTextFieldCampoUsuario.setText(resourceMap.getString("jTextFieldCampoUsuario.text")); // NOI18N
        jTextFieldCampoUsuario.setName("jTextFieldCampoUsuario"); // NOI18N

        jLabelUsuario.setText(resourceMap.getString("jLabelUsuario.text")); // NOI18N
        jLabelUsuario.setName("jLabelUsuario"); // NOI18N

        jLabelContraseña.setText(resourceMap.getString("jLabelContraseña.text")); // NOI18N
        jLabelContraseña.setName("jLabelContraseña"); // NOI18N

        jButtonAñadir.setText(resourceMap.getString("jButtonAñadir.text")); // NOI18N
        jButtonAñadir.setName("jButtonAñadir"); // NOI18N
        jButtonAñadir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAñadirActionPerformed(evt);
            }
        });

        jButtonCancelar.setText(resourceMap.getString("jButtonCancelar.text")); // NOI18N
        jButtonCancelar.setName("jButtonCancelar"); // NOI18N
        jButtonCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonCancelarActionPerformed(evt);
            }
        });

        jButtonAyuda.setText(resourceMap.getString("jButtonAyuda.text")); // NOI18N
        jButtonAyuda.setName("jButtonAyuda"); // NOI18N
        jButtonAyuda.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButtonAyudaActionPerformed(evt);
            }
        });

        jLabelRespuesta.setText(resourceMap.getString("jLabelRespuesta.text")); // NOI18N
        jLabelRespuesta.setName("jLabelRespuesta"); // NOI18N

        confirmarContrasenaJPasswordFieldCampoConfirmarContraseña.setText(resourceMap.getString("confirmarContrasenaJPasswordFieldCampoConfirmarContraseña.text")); // NOI18N
        confirmarContrasenaJPasswordFieldCampoConfirmarContraseña.setName("confirmarContrasenaJPasswordFieldCampoConfirmarContraseña"); // NOI18N

        jLabelConfirmarContraseña.setText(resourceMap.getString("jLabelConfirmarContraseña.text")); // NOI18N
        jLabelConfirmarContraseña.setName("jLabelConfirmarContraseña"); // NOI18N

        contrasenaJPasswordFieldCampoContraseña.setText(resourceMap.getString("contrasenaJPasswordFieldCampoContraseña.text")); // NOI18N
        contrasenaJPasswordFieldCampoContraseña.setName("contrasenaJPasswordFieldCampoContraseña"); // NOI18N

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap(398, Short.MAX_VALUE)
                .addComponent(jButtonAyuda)
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabelRespuesta, javax.swing.GroupLayout.DEFAULT_SIZE, 451, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addGap(80, 80, 80)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabelUsuario)
                        .addGap(18, 18, 18)
                        .addComponent(jTextFieldCampoUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 232, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabelConfirmarContraseña)
                            .addComponent(jLabelContraseña)
                            .addComponent(jButtonAñadir))
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(confirmarContrasenaJPasswordFieldCampoConfirmarContraseña, javax.swing.GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE)
                                    .addComponent(contrasenaJPasswordFieldCampoContraseña, javax.swing.GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE)))
                            .addGroup(layout.createSequentialGroup()
                                .addGap(107, 107, 107)
                                .addComponent(jButtonCancelar)))))
                .addGap(105, 105, 105))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGap(57, 57, 57)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jTextFieldCampoUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabelUsuario))
                .addGap(39, 39, 39)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabelContraseña, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(contrasenaJPasswordFieldCampoContraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(15, 15, 15)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabelConfirmarContraseña)
                    .addComponent(confirmarContrasenaJPasswordFieldCampoConfirmarContraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButtonAñadir, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jButtonCancelar))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabelRespuesta, javax.swing.GroupLayout.DEFAULT_SIZE, 18, Short.MAX_VALUE)
                .addGap(40, 40, 40)
                .addComponent(jButtonAyuda)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void jButtonAñadirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAñadirActionPerformed
        String u = jTextFieldCampoUsuario.getText();
        String c = new String(contrasenaJPasswordFieldCampoContraseña.getPassword());
        String confirmarContrasena = new String(confirmarContrasenaJPasswordFieldCampoConfirmarContraseña.getPassword());
        //se comprueba si las 2 contraseñas introducidas coinciden
        if(c.compareTo(confirmarContrasena)==0){
            if(Aplicacion.getPersonas().add(new Usuario(u,c))){
                jLabelRespuesta.setText("Se ha añadido a ese usuario con éxito.");
                Aplicacion.finalizar();
                this.dispose();
                }
            else{
                jLabelRespuesta.setText("No se ha podido añadir al usuario, intentelo de nuevo.");
            }
        //si las contraseñas no coinciden muestra mensaje de error
        }else{
            jLabelRespuesta.setText("Contraseñas no coinciden.");
        }
    }//GEN-LAST:event_jButtonAñadirActionPerformed

    private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelarActionPerformed
        _dialog.setVisible(false);
    }//GEN-LAST:event_jButtonCancelarActionPerformed

    private void jButtonAyudaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAyudaActionPerformed
        VentanaAyuda ayuda = new VentanaAyuda("Añadir usuario");
        ayuda.setVisible(true);
    }//GEN-LAST:event_jButtonAyudaActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                _dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                });
                _dialog.setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPasswordField confirmarContrasenaJPasswordFieldCampoConfirmarContraseña;
    private javax.swing.JPasswordField contrasenaJPasswordFieldCampoContraseña;
    private javax.swing.JButton jButtonAyuda;
    private javax.swing.JButton jButtonAñadir;
    private javax.swing.JButton jButtonCancelar;
    private javax.swing.JLabel jLabelConfirmarContraseña;
    private javax.swing.JLabel jLabelContraseña;
    private javax.swing.JLabel jLabelRespuesta;
    private javax.swing.JLabel jLabelUsuario;
    private javax.swing.JTextField jTextFieldCampoUsuario;
    // End of variables declaration//GEN-END:variables

}
